//登录相关的路由接口
const express = require("express");
let router = express.Router();
let userModel = require("../models/userModel");
let md5 = require("md5");
const jwt = require("jsonwebtoken"); //签发token的模块

router.post("/checkuser", async (req, res) => {
  console.log(req.body);
  try {
    //查询数据库，检验用户名和密码是否正确
    let { username, pwd } = req.body;
    console.log(username, pwd); //此时虽然获取到了用户名和密码的值，但是密码是被MD5加密过的字符串，需要利用MD5再次转换一下
    let userdata = await userModel.findOne({
      username,
      pwd: md5(pwd),
    });
    // console.log(userdata);
    if (userdata) {
      //查询到了数据，证明用户名和密码正确

      //后端签发token
      //第一个参数是 传递的参数值，可以传给前端
      //第二个参数是 token的密码  需要保管好，不能随意泄露，有这个密码之后就可以反解密token
      //第三个参数是 token的过期时间，这里设置的是2个小时
      let token = jwt.sign({ myvalue: "nihao" }, "mytoken", {
        expiresIn: "2h",
      });
      res.json({
        info: "用户名和密码正确",
        status: 1,
        token,
      });
    } else {
      res.json({
        info: "用户名或密码错误",
        status: 0,
      });
    }
  } catch (err) {
    res.json({
      info: "错误！！",
      status: 2,
    });
  }
});
module.exports = router;
